#ifndef MONSTERROOM_HH
#define MONSTERROOM_HH

#include "Room.hh"
#include "Enemy.hh"
#include "Player.hh"
#include "EnemyFactory.hh"
#include <vector>

// A parent class of battle rooms that contains multiple enemies that the 
// player must defeat. 

class MonsterRoom : public Room {
    protected:
        std::vector<Enemy> enemies;
        
    public:  
        MonsterRoom()=default;
        MonsterRoom(const MonsterRoom& other)=default;
        MonsterRoom& operator=(const MonsterRoom& other)=default;
        MonsterRoom(std::string name, std::string description);
        void addEnemy(const Enemy& enemy);
        void enterRoom(Player& player)override;
        bool hasEnemies() const;
};

#endif
